// 用于用户注册和个人中心修改页面的输入框规则验证

// 统一信用社会代码
export function validateCreditCode(rule, value, callback) {
    const reg = /^[A-Z0-9]{15}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/
    if (!reg.test(value)) {
        callback(new Error('请输入正确的纳税人识别号（15位，18位，20位字符）'))
    } else {
        callback()
    }
}
//   手机号
export function validatePhoneNumber(rule, value, callback) {
    const reg1 = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
    if (!reg1.test(value)) {
        callback(new Error('请输入正确的手机号码'))
    } else {
        callback()
    }
}
// 电子邮箱
export function validateEmail(rule, value, callback) {
    const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
    if (!reg.test(value)) {
        callback(new Error('请输入正确的电子邮箱'))
    } else {
        callback()
    }
}
//   银行卡号
export function validateBank(rule, value, callback) {
    const reg = /^([1-9]{1})(\d{14}|\d{18}|\d{15})$/
    if (!reg.test(value)) {
        callback(new Error('请输入正确的银行卡号'))
    } else {
        callback()
    }
}
// 银行卡号验证
export function bankAccountValid(rule, value, callback) {
    const strBin = '10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99'
    if (!value) {
        return callback(new Error('银行卡号不能为空'))
    } else if (!Number.isInteger(+value)) {
        callback(new Error('银行卡号必须全为数字'))
    } else if (value.trim().length < 12 || value.trim().length > 19) {
        callback(new Error('银行卡号长度必须在12到19之间'))
    } else if (strBin.indexOf(value.substring(0, 2)) === -1) {
        callback(new Error('银行卡号开头6位不符合规范'))
    } else {
        callback()
    }
}
// 金额验证
export function moneyReg(rule, value, callback) {
    if (value != null) {
        if (value.length > 10) {
            callback(new Error('长度在 0 到 10 个字符'));
        } else {
            setTimeout(() => {
                if (!/(^[1-9]\d*(\.\d{1,4})?$)|(^0(\.\d{1,4})?$)/.test(value) && value) {
                    callback(new Error('请输入正整数或小数保留四位小数'));
                } else {
                    callback()
                }
            }, 500);
        }
    }
};
// 成立年限验证
export function yearValid(rule, value, callback) {
    if (value !== null && value !== '') {
        if (!/[1-2][0-9]\d{2}$/.test(value) && value) {
            callback(new Error('请输入正确的年份！'));
        } else {
            callback()
        }
    } else {
        callback(new Error('内容不能为空！'));
    }
};
// 身份证号码验证
export function validateCardID(rule, value, callback) {
    const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
    if (!reg.test(value)) {
        callback(new Error('请输入正确的身份证号码'))
    } else {
        callback()
    }
}